Next: Customize Save, Previous: Save Commands, Up: Saving [Contents][Index]
On most operating systems, rewriting a file automatically destroys all record of what the file used to contain. Thus, saving a file from Emacs throws away the old contents of the file—or it would, except that Emacs carefully copies the old contents to another file, called the backup file, before actually saving.
Emacs makes a backup for a file only the first time the file is saved from a buffer. No matter how many times you subsequently save the file, its backup remains unchanged. However, if you kill the buffer and then visit the file again, a new backup file will be made.
For most files, the variable make-backup-files
determines whether to make backup files. On most operating
systems, its default value is t, so that Emacs does
write backup files.
For files managed by a version control system (see Version Control), the
variable vc-make-backup-files determines whether to
make backup files. By default it is nil, since
backup files are redundant when you store all the previous
versions in a version control system. See General VC
Options.
At your option, Emacs can keep either a single backup for each file, or make a series of numbered backup files for each file that you edit. See Backup Names.
The default value of the backup-enable-predicate
variable prevents backup files being written for files in the
directories used for temporary files, specified by
temporary-file-directory or
small-temporary-file-directory.
You can explicitly tell Emacs to make another backup file from a buffer, even though that buffer has been saved before. If you save the buffer with C-u C-x C-s, the version thus saved will be made into a backup file if you save the buffer again. C-u C-u C-x C-s saves the buffer, but first makes the previous file contents into a new backup file. C-u C-u C-u C-x C-s does both things: it makes a backup from the previous contents, and arranges to make another from the newly saved contents if you save again.
You can customize the variable
backup-directory-alist to specify that files
matching certain patterns should be backed up in specific
directories. A typical use is to add an element ("." .
dir) to make all backups in the directory with
absolute name dir. Emacs modifies the backup file
names to avoid clashes between files with the same names
originating in different directories. Alternatively, adding,
("." . ".~") would make backups in the invisible
subdirectory .~ of the original file’s
directory. Emacs creates the directory, if necessary, to make the
backup.
| • Names: | How backup files are named. | |
| • Deletion: | Emacs deletes excess numbered backups. | |
| • Copying: | Backups can be made by copying or renaming. |
Next: Customize Save, Previous: Save Commands, Up: Saving [Contents][Index]